package com.smedi.ismedi.file.core.domain.aggregatemodel;

import com.baomidou.mybatisplus.extension.service.IService;
import com.smedi.ismedi.file.core.port.adapter.persistence.model.FileEntity;

import java.util.List;

/**
 * @Author Jimmy
 * @Date 2021/6/1 13:45
 */
public interface FileRepository extends IService<FileEntity> {

    /**
     * 添加文件信息
     *
     * @param fileInfo
     * @return
     */
    FileInfo addFileInfo(FileInfo fileInfo);

    /**
     * 获取文件信息
     *
     * @param signKey
     * @return
     */
    FileInfo getFileBySignKey(String signKey);

    /**
     * 获取文件信息
     *
     * @param signKeys
     * @return
     */
    List<FileInfo> getFileList(List<String> signKeys);

    /**
     * 删除文件
     *
     * @param signKey
     * @param reason
     * @return
     */
    boolean deleteFileBySignKey(String signKey, String reason);


}
